home *** CD-ROM | disk | FTP | other *** search
/ PC User 2002 July / Disc 1 / PCU0702CD1.iso / software / sfeflash / flies / en-us / RealEngine.jar / a.class (.txt) next >
Encoding:
Java Class File  |  2001-09-10  |  14.8 KB  |  1,308 lines

  1. import java.applet.Applet;
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Cursor;
  7. import java.awt.Event;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12. import java.awt.image.ImageObserver;
  13. import java.awt.image.MemoryImageSource;
  14. import java.awt.image.PixelGrabber;
  15. import java.util.EventObject;
  16.  
  17. // $FF: renamed from: a
  18. public class class_0 extends b implements ActionListener {
  19.    // $FF: renamed from: ba boolean
  20.    static final boolean field_0 = false;
  21.    // $FF: renamed from: a0 int
  22.    static final int field_1 = 4096;
  23.    // $FF: renamed from: av int
  24.    static final int field_2 = 4096;
  25.    // $FF: renamed from: bC int
  26.    static final int field_3 = 524288;
  27.    // $FF: renamed from: aH double
  28.    static final double field_4 = (double)-200.0F;
  29.    // $FF: renamed from: bx long
  30.    static final long field_5 = 40L;
  31.    // $FF: renamed from: bt long
  32.    static final long field_6 = 100000000L;
  33.    // $FF: renamed from: aU boolean
  34.    boolean field_7 = false;
  35.    // $FF: renamed from: a4 boolean
  36.    boolean field_8 = false;
  37.    // $FF: renamed from: bB boolean
  38.    boolean field_9 = false;
  39.    // $FF: renamed from: by boolean
  40.    boolean field_10;
  41.    // $FF: renamed from: a2 boolean
  42.    boolean field_11;
  43.    // $FF: renamed from: aI boolean
  44.    boolean field_12;
  45.    // $FF: renamed from: aG boolean
  46.    boolean field_13;
  47.    // $FF: renamed from: aQ boolean
  48.    boolean field_14;
  49.    // $FF: renamed from: bm boolean
  50.    boolean field_15;
  51.    // $FF: renamed from: bK boolean
  52.    boolean field_16;
  53.    // $FF: renamed from: aJ int
  54.    int field_17 = 1;
  55.    // $FF: renamed from: bp int
  56.    int field_18;
  57.    // $FF: renamed from: a5 int
  58.    int field_19;
  59.    // $FF: renamed from: bl int
  60.    int field_20;
  61.    // $FF: renamed from: be int
  62.    int field_21;
  63.    // $FF: renamed from: bG int
  64.    int field_22;
  65.    // $FF: renamed from: bF int
  66.    int field_23;
  67.    // $FF: renamed from: br int
  68.    int field_24;
  69.    // $FF: renamed from: aY int
  70.    int field_25;
  71.    // $FF: renamed from: aL int[]
  72.    int[] field_26;
  73.    // $FF: renamed from: aD int[][]
  74.    int[][] field_27;
  75.    // $FF: renamed from: bO int
  76.    int field_28;
  77.    // $FF: renamed from: bN int
  78.    int field_29;
  79.    // $FF: renamed from: bQ int
  80.    int field_30;
  81.    // $FF: renamed from: au int
  82.    int field_31;
  83.    // $FF: renamed from: aX int[][]
  84.    int[][] field_32;
  85.    // $FF: renamed from: aw int
  86.    int field_33;
  87.    // $FF: renamed from: ax int
  88.    int field_34;
  89.    // $FF: renamed from: bE int
  90.    int field_35;
  91.    // $FF: renamed from: bD int
  92.    int field_36;
  93.    // $FF: renamed from: aF int
  94.    int field_37;
  95.    // $FF: renamed from: aE int
  96.    int field_38;
  97.    // $FF: renamed from: aT int
  98.    int field_39;
  99.    // $FF: renamed from: bn int[][]
  100.    int[][] field_40;
  101.    // $FF: renamed from: aN int
  102.    int field_41;
  103.    // $FF: renamed from: aA int[]
  104.    int[] field_42;
  105.    // $FF: renamed from: a3 int[]
  106.    int[] field_43;
  107.    // $FF: renamed from: bi int[]
  108.    int[] field_44;
  109.    // $FF: renamed from: bh int[]
  110.    int[] field_45;
  111.    // $FF: renamed from: bf int[]
  112.    int[] field_46;
  113.    // $FF: renamed from: bd int[]
  114.    int[] field_47;
  115.    // $FF: renamed from: bc int[]
  116.    int[] field_48;
  117.    // $FF: renamed from: bu int[]
  118.    int[] field_49;
  119.    // $FF: renamed from: aO int
  120.    int field_50;
  121.    // $FF: renamed from: az int
  122.    int field_51;
  123.    // $FF: renamed from: ay int
  124.    int field_52;
  125.    // $FF: renamed from: aZ long
  126.    long field_53;
  127.    // $FF: renamed from: bs long
  128.    long field_54;
  129.    // $FF: renamed from: bI long
  130.    long field_55;
  131.    // $FF: renamed from: bw long
  132.    long field_56;
  133.    // $FF: renamed from: bo long
  134.    long field_57;
  135.    // $FF: renamed from: bv double
  136.    double field_58;
  137.    // $FF: renamed from: as double
  138.    double field_59;
  139.    // $FF: renamed from: bJ double
  140.    double field_60;
  141.    // $FF: renamed from: aV double
  142.    double field_61;
  143.    // $FF: renamed from: a6 double
  144.    double field_62;
  145.    // $FF: renamed from: bg double
  146.    double field_63;
  147.    // $FF: renamed from: aC double
  148.    double field_64;
  149.    // $FF: renamed from: aS double
  150.    double field_65;
  151.    // $FF: renamed from: aM double
  152.    double field_66;
  153.    // $FF: renamed from: bz double
  154.    double field_67;
  155.    // $FF: renamed from: bP double
  156.    double field_68;
  157.    // $FF: renamed from: bq double
  158.    double field_69;
  159.    // $FF: renamed from: bL double
  160.    double field_70;
  161.    // $FF: renamed from: bj double[][]
  162.    double[][] field_71;
  163.    // $FF: renamed from: a9 java.lang.String
  164.    String field_72;
  165.    // $FF: renamed from: a7 java.lang.String
  166.    String field_73;
  167.    // $FF: renamed from: bb java.awt.Color
  168.    Color field_74;
  169.    // $FF: renamed from: bA java.awt.Color
  170.    Color field_75;
  171.    // $FF: renamed from: a8 java.awt.Graphics
  172.    Graphics field_76;
  173.    // $FF: renamed from: aP java.awt.Image
  174.    Image field_77;
  175.    // $FF: renamed from: bM java.awt.Image
  176.    Image field_78;
  177.    // $FF: renamed from: aR java.awt.Image
  178.    Image field_79;
  179.    // $FF: renamed from: bH java.awt.Image
  180.    Image field_80;
  181.    // $FF: renamed from: aB java.awt.image.MemoryImageSource
  182.    MemoryImageSource field_81;
  183.    // $FF: renamed from: at f
  184.    f field_82;
  185.    // $FF: renamed from: aW f
  186.    f field_83;
  187.    // $FF: renamed from: aK f
  188.    f field_84;
  189.    // $FF: renamed from: a1 f
  190.    f field_85;
  191.    // $FF: renamed from: bk d
  192.    d field_86;
  193.  
  194.    public boolean mouseEnter(Event var1, int var2, int var3) {
  195.       this.field_13 = true;
  196.       return false;
  197.    }
  198.  
  199.    // $FF: renamed from: b () java.awt.Image
  200.    public Image method_0() {
  201.       return this.field_80;
  202.    }
  203.  
  204.    // $FF: renamed from: a (int, int, int, int, int, int) int
  205.    public int method_1(int var1, int var2, int var3, int var4, int var5, int var6) {
  206.       int[] var7 = this.field_32[var5 & 255];
  207.       int[] var8 = this.field_32[255 - var5 & 255];
  208.       int var9 = var8[var1 >> 16 & 255] + var7[var2 >> 16 & 255];
  209.       int var10 = var8[var1 >> 8 & 255] + var7[var2 >> 8 & 255];
  210.       int var11 = var8[var1 & 255] + var7[var2 & 255];
  211.       int var12 = var8[var3 >> 16 & 255] + var7[var4 >> 16 & 255];
  212.       int var13 = var8[var3 >> 8 & 255] + var7[var4 >> 8 & 255];
  213.       int var14 = var8[var3 & 255] + var7[var4 & 255];
  214.       int var15 = 255 - var6;
  215.       var9 = var9 * var15 + var12 * var6 >> 16;
  216.       var10 = var10 * var15 + var13 * var6 >> 16;
  217.       var11 = var11 * var15 + var14 * var6 >> 16;
  218.       return (var9 << 16) + (var10 << 8) + var11 + -16777216;
  219.    }
  220.  
  221.    // $FF: renamed from: if (double, double, double) void
  222.    public void method_2(double var1, double var3, double var5) {
  223.       if (var1 != this.field_58 || var3 != this.field_62 || var5 != this.field_59) {
  224.          while(var1 > (double)180.0F) {
  225.             var1 -= (double)360.0F;
  226.          }
  227.  
  228.          while(var1 < (double)-180.0F) {
  229.             var1 += (double)360.0F;
  230.          }
  231.  
  232.          double var7 = this.method_12(var5);
  233.          if (var3 > this.field_63 - var7 && this.field_63 != (double)90.0F) {
  234.             var3 = this.field_63 - var7;
  235.          } else if (var3 > this.field_63) {
  236.             var3 = this.field_63;
  237.          } else if (var3 < this.field_64 + var7 && this.field_64 != (double)-90.0F) {
  238.             var3 = this.field_64 + var7;
  239.          } else if (var3 < this.field_64) {
  240.             var3 = this.field_64;
  241.          }
  242.  
  243.          if (this.field_66 != (double)180.0F || this.field_67 != (double)-180.0F) {
  244.             int[] var9 = new int[2];
  245.             this.method_20(0, this.field_62 <= (double)0.0F ? this.field_21 - 1 : 0, var9, var1, var3);
  246.             int var10 = var9[0];
  247.             this.method_20(this.field_20 - 1, this.field_62 <= (double)0.0F ? this.field_21 - 1 : 0, var9, var1, var3);
  248.             int var11 = var9[0];
  249.             Object var12 = null;
  250.             if (var11 - var10 >= (int)((this.field_66 - this.field_67) / (double)360.0F * (double)this.field_24)) {
  251.                return;
  252.             }
  253.  
  254.             if (var10 < (int)((this.field_67 + (double)180.0F) / (double)360.0F * (double)this.field_24)) {
  255.                if (this.field_56 > this.field_55) {
  256.                   this.field_68 *= (double)-1.0F;
  257.                }
  258.  
  259.                var1 += this.field_67 - ((double)var10 / (double)this.field_24 * (double)360.0F - (double)180.0F);
  260.             }
  261.  
  262.             if (var11 >= (int)((this.field_66 + (double)180.0F) / (double)360.0F * (double)this.field_24)) {
  263.                if (this.field_56 > this.field_55) {
  264.                   this.field_68 *= (double)-1.0F;
  265.                }
  266.  
  267.                var1 -= (double)var11 / (double)this.field_24 * (double)360.0F - (double)180.0F - this.field_66;
  268.             }
  269.          }
  270.  
  271.          if (var5 > this.field_61) {
  272.             var5 = this.field_61;
  273.          } else if (var5 < this.field_60) {
  274.             var5 = this.field_60;
  275.          }
  276.  
  277.          if ((double)2.0F * var7 <= this.field_63 - this.field_64 && var5 <= this.field_61 && var5 >= this.field_60 && var5 <= this.field_66 - this.field_67 && var3 <= this.field_63 && var3 >= this.field_64 && var1 <= this.field_66 && var1 >= this.field_67 && (var1 != this.field_58 || var3 != this.field_62 || var5 != this.field_59)) {
  278.             this.field_58 = var1;
  279.             this.field_62 = var3;
  280.             this.field_59 = var5;
  281.             this.field_65 = var7;
  282.             this.field_15 = true;
  283.             ((Component)this).repaint();
  284.          }
  285.  
  286.       }
  287.    }
  288.  
  289.    // $FF: renamed from: c () void
  290.    private void method_3() {
  291.       try {
  292.          int var1 = this.field_37 - this.field_35;
  293.          int var2 = this.field_38 - this.field_36;
  294.          int var3 = (int)(Math.atan((double)(Math.abs(var2) / Math.abs(var1))) * (double)180.0F / Math.PI);
  295.          if (var1 < 0 && var2 > 0) {
  296.             var3 = 180 - var3;
  297.          } else if (var1 < 0 && var2 < 0) {
  298.             var3 += 180;
  299.          } else if (var1 > 0 && var2 < 0) {
  300.             var3 = 360 - var3;
  301.          }
  302.  
  303.          if (var3 > 10 && var3 < 350) {
  304.             if (var3 <= 80) {
  305.                ((Component)this).setCursor(Cursor.getPredefinedCursor(6));
  306.             } else if (var3 <= 100) {
  307.                ((Component)this).setCursor(Cursor.getPredefinedCursor(8));
  308.             } else if (var3 <= 170) {
  309.                ((Component)this).setCursor(Cursor.getPredefinedCursor(7));
  310.             } else if (var3 <= 190) {
  311.                ((Component)this).setCursor(Cursor.getPredefinedCursor(11));
  312.             } else if (var3 <= 260) {
  313.                ((Component)this).setCursor(Cursor.getPredefinedCursor(5));
  314.             } else if (var3 <= 280) {
  315.                ((Component)this).setCursor(Cursor.getPredefinedCursor(9));
  316.             } else {
  317.                ((Component)this).setCursor(Cursor.getPredefinedCursor(4));
  318.             }
  319.          } else {
  320.             ((Component)this).setCursor(Cursor.getPredefinedCursor(10));
  321.          }
  322.       } catch (Exception var4) {
  323.          ((Component)this).setCursor(Cursor.getPredefinedCursor(13));
  324.       }
  325.  
  326.    }
  327.  
  328.    // $FF: renamed from: try (int) void
  329.    public void method_4(int var1) {
  330.       this.method_22(this.field_58, this.field_62, (double)var1, 1);
  331.    }
  332.  
  333.    // $FF: renamed from: e () void
  334.    void method_5() {
  335.       Image var1 = super.G[0];
  336.       this.field_24 = var1.getWidth((ImageObserver)null);
  337.       this.field_25 = var1.getHeight((ImageObserver)null);
  338.  
  339.       try {
  340.          this.field_27 = new int[this.field_25][this.field_24];
  341.       } catch (Exception var10) {
  342.          this.field_72 = "Not enough memory to load panorama";
  343.          this.field_27 = null;
  344.          this.field_12 = true;
  345.          return;
  346.       }
  347.  
  348.       int var2 = this.field_25;
  349.       if (var2 * this.field_24 > 524288) {
  350.          var2 = 524288 / this.field_24;
  351.       }
  352.  
  353.       int[] var3 = new int[var2 * this.field_24];
  354.  
  355.       for(int var4 = 0; var4 < this.field_25; var4 += var2) {
  356.          int var5 = var2 >= this.field_25 - var4 ? this.field_25 - var4 : var2;
  357.          PixelGrabber var6 = new PixelGrabber(var1, 0, var4, this.field_24, var5, var3, 0, this.field_24);
  358.  
  359.          try {
  360.             var6.grabPixels();
  361.          } catch (InterruptedException var9) {
  362.             this.field_72 = "interrupted waiting for pixels!";
  363.             this.field_12 = true;
  364.             this.field_27 = null;
  365.             return;
  366.          }
  367.  
  368.          for(int var7 = 0; var7 < var5; ++var7) {
  369.             for(int var8 = 0; var8 < this.field_24; ++var8) {
  370.                this.field_27[var7 + var4][var8] = var3[var7 * this.field_24 + var8] | -16777216;
  371.             }
  372.          }
  373.       }
  374.  
  375.       Object var11 = null;
  376.       Object var12 = null;
  377.       System.gc();
  378.       this.field_11 = true;
  379.    }
  380.  
  381.    // $FF: renamed from: a (double, double, double, double, double, double, int) void
  382.    public void method_6(double var1, double var3, double var5, double var7, double var9, double var11, int var13) {
  383.       double var14 = (double)0.0F;
  384.       double var16 = (var7 - var5) / (double)var13;
  385.       double var18 = Math.pow(var11 / var9, (double)1.0F / (double)var13);
  386.       if (!(Math.abs(var3 - var1) < (double)180.0F) && this.field_66 == (double)180.0F && this.field_67 == (double)-180.0F) {
  387.          if (var3 > var1) {
  388.             var14 = (var3 - var1 - (double)360.0F) / (double)var13;
  389.          } else if (var3 < var1) {
  390.             var14 = (var3 - var1 + (double)360.0F) / (double)var13;
  391.          }
  392.       } else {
  393.          var14 = (var3 - var1) / (double)var13;
  394.       }
  395.  
  396.       this.method_2(var1, var5, var9);
  397.       this.field_56 = this.field_55 + (long)var13;
  398.       this.method_13(var14, var16, var18);
  399.    }
  400.  
  401.    public void update(Graphics var1) {
  402.       this.paint(var1);
  403.    }
  404.  
  405.    public void actionPerformed(ActionEvent var1) {
  406.       if (((EventObject)var1).getSource() == this.field_82) {
  407.          this.method_13(1.01, (double)0.0F, (double)1.0F);
  408.       }
  409.  
  410.       if (((EventObject)var1).getSource() == this.field_83) {
  411.          this.method_15();
  412.       }
  413.  
  414.       if (((EventObject)var1).getSource() == this.field_84) {
  415.          this.method_15();
  416.          this.method_22((double)0.0F, (double)0.0F, super.S, 1);
  417.       }
  418.  
  419.       if (((EventObject)var1).getSource() == this.field_85) {
  420.          ((b)this).a("www.realview3d.com", "_blank");
  421.       }
  422.  
  423.    }
  424.  
  425.    // $FF: renamed from: a (double, double, double[][], int) void
  426.    void method_7(double var1, double var3, double[][] var5, int var6) {
  427.       double[][] var7 = new double[3][3];
  428.       double[][] var8 = new double[3][3];
  429.       var7[0][0] = (double)1.0F;
  430.       var7[0][1] = (double)0.0F;
  431.       var7[0][2] = (double)0.0F;
  432.       var7[1][0] = (double)0.0F;
  433.       var7[1][1] = Math.cos(var1);
  434.       var7[1][2] = Math.sin(var1);
  435.       var7[2][0] = (double)0.0F;
  436.       var7[2][1] = -var7[1][2];
  437.       var7[2][2] = var7[1][1];
  438.       var8[0][0] = Math.cos(var3);
  439.       var8[0][1] = (double)0.0F;
  440.       var8[0][2] = -Math.sin(var3);
  441.       var8[1][0] = (double)0.0F;
  442.       var8[1][1] = (double)1.0F;
  443.       var8[1][2] = (double)0.0F;
  444.       var8[2][0] = -var8[0][2];
  445.       var8[2][1] = (double)0.0F;
  446.       var8[2][2] = var8[0][0];
  447.       if (var6 == 1) {
  448.          this.method_8(var7, var8, var5);
  449.       } else {
  450.          this.method_8(var8, var7, var5);
  451.       }
  452.    }
  453.  
  454.    // $FF: renamed from: a (double[][], double[][], double[][]) void
  455.    void method_8(double[][] var1, double[][] var2, double[][] var3) {
  456.       for(int var4 = 0; var4 < 3; ++var4) {
  457.          for(int var5 = 0; var5 < 3; ++var5) {
  458.             var3[var4][var5] = var1[var4][0] * var2[0][var5] + var1[var4][1] * var2[1][var5] + var1[var4][2] * var2[2][var5];
  459.          }
  460.       }
  461.  
  462.    }
  463.  
  464.    // $FF: renamed from: try (int, int) int
  465.    int method_9(int var1, int var2) {
  466.       if (var2 > 0) {
  467.          return var1 > 0 ? this.field_42[4096 * var1 / (var2 + var1)] : -this.field_42[4096 * -var1 / (var2 - var1)];
  468.       } else if (var2 == 0) {
  469.          return var1 > 0 ? this.field_33 : -this.field_33;
  470.       } else {
  471.          return var1 < 0 ? this.field_42[4096 * var1 / (var2 + var1)] - this.field_34 : -this.field_42[4096 * -var1 / (var2 - var1)] + this.field_34;
  472.       }
  473.    }
  474.  
  475.    // $FF: renamed from: long () void
  476.    void method_10() {
  477.       double var1 = this.field_59 * (double)2.0F * Math.PI / (double)360.0F;
  478.       double var3 = (double)this.field_20 / ((double)2.0F * Math.tan(var1 / (double)2.0F));
  479.       this.method_7(this.field_62 * (double)2.0F * Math.PI / (double)360.0F, this.field_58 * (double)2.0F * Math.PI / (double)360.0F, this.field_71, 1);
  480.       double[] var10000 = this.field_71[0];
  481.       var10000[0] /= var3;
  482.       var10000 = this.field_71[0];
  483.       var10000[1] /= var3;
  484.       var10000 = this.field_71[0];
  485.       var10000[2] /= var3;
  486.       var10000 = this.field_71[1];
  487.       var10000[0] /= var3;
  488.       var10000 = this.field_71[1];
  489.       var10000[1] /= var3;
  490.       var10000 = this.field_71[1];
  491.       var10000[2] /= var3;
  492.       double var5 = var1 <= 0.3 ? 436906.6666666667 : (double)131072.0F / var1;
  493.  
  494.       for(int var7 = 0; var7 < 3; ++var7) {
  495.          for(int var8 = 0; var8 < 3; ++var8) {
  496.             this.field_40[var7][var8] = (int)(var5 * this.field_71[var7][var8] + (double)0.5F);
  497.          }
  498.       }
  499.  
  500.       if (!this.field_14 && this.field_56 <= this.field_55) {
  501.          this.method_14(this.field_40, true);
  502.          System.gc();
  503.          this.field_15 = false;
  504.       } else {
  505.          this.method_14(this.field_40, false);
  506.       }
  507.  
  508.       ++this.field_55;
  509.    }
  510.  
  511.    // $FF: renamed from: d () void
  512.    void method_11() {
  513.       if (this.field_42 == null) {
  514.          this.field_42 = new int[4097];
  515.          this.field_44 = new int[4097];
  516.          this.field_45 = new int[4097];
  517.          this.field_46 = new int[4097];
  518.          this.field_47 = new int[4097];
  519.          this.field_48 = new int[4097];
  520.          this.field_43 = new int[4097];
  521.          this.field_49 = new int[4097];
  522.          double var1 = 2.44140625E-4;
  523.          double var3 = (double)0.0F;
  524.  
  525.          for(int var5 = 0; var5 < 4096; var3 += var1) {
  526.             this.field_49[var5] = (int)(Math.sqrt((double)1.0F + var3 * var3) * (double)4096.0F);
  527.             ++var5;
  528.          }
  529.  
  530.          this.field_49[4096] = (int)(Math.sqrt((double)2.0F) * (double)4096.0F);
  531.          this.field_32 = new int[256][256];
  532.  
  533.          for(int var13 = 0; var13 < 256; ++var13) {
  534.             for(int var6 = 0; var6 < 256; ++var6) {
  535.                this.field_32[var13][var6] = var13 * var6;
  536.             }
  537.          }
  538.       }
  539.  
  540.       double var11 = 2.44140625E-4;
  541.       double var12 = (double)0.0F;
  542.       double var14 = (double)this.field_24 / (Math.PI * 2D);
  543.       int var7 = this.field_25 / 2;
  544.       int var8 = this.field_24 / 2;
  545.       this.field_33 = this.field_24 * 64;
  546.       this.field_34 = 128 * this.field_24;
  547.  
  548.       for(int var9 = 0; var9 < 4097; var12 += var11) {
  549.          int var10;
  550.          if (var9 < 4096) {
  551.             this.field_42[var9] = (int)(var14 * Math.atan(var12 / ((double)1.0F - var12)) * (double)256.0F + (double)0.5F);
  552.             var10 = (int)(var14 * Math.atan(var12 / ((double)1.0F - var12)) + (double)0.5F);
  553.          } else {
  554.             this.field_42[var9] = (int)(var14 * Math.PI / (double)2.0F * (double)256.0F + (double)0.5F);
  555.             var10 = (int)(var14 * Math.PI / (double)2.0F + (double)0.5F);
  556.          }
  557.  
  558.          this.field_43[var9] = var10;
  559.          this.field_44[var9] = var10 + var7;
  560.          this.field_45[var9] = -var10 + var7;
  561.          this.field_46[var9] = var10 + var8;
  562.          this.field_47[var9] = -var10 + var8;
  563.          this.field_48[var9] = -var10 + this.field_24;
  564.          if (this.field_44[var9] < 0) {
  565.             this.field_44[var9] = 0;
  566.          }
  567.  
  568.          if (this.field_44[var9] >= this.field_25) {
  569.             this.field_44[var9] = this.field_25 - 1;
  570.          }
  571.  
  572.          if (this.field_45[var9] < 0) {
  573.             this.field_45[var9] = 0;
  574.          }
  575.  
  576.          if (this.field_45[var9] >= this.field_25) {
  577.             this.field_45[var9] = this.field_25 - 1;
  578.          }
  579.  
  580.          if (this.field_43[var9] < 0) {
  581.             int[] var10000 = this.field_43;
  582.             var10000[var9] += this.field_24;
  583.          }
  584.  
  585.          if (this.field_43[var9] >= this.field_24) {
  586.             int[] var15 = this.field_43;
  587.             var15[var9] -= this.field_24;
  588.          }
  589.  
  590.          if (this.field_46[var9] < 0) {
  591.             int[] var16 = this.field_46;
  592.             var16[var9] += this.field_24;
  593.          }
  594.  
  595.          if (this.field_46[var9] >= this.field_24) {
  596.             int[] var17 = this.field_46;
  597.             var17[var9] -= this.field_24;
  598.          }
  599.  
  600.          if (this.field_47[var9] < 0) {
  601.             int[] var18 = this.field_47;
  602.             var18[var9] += this.field_24;
  603.          }
  604.  
  605.          if (this.field_47[var9] >= this.field_24) {
  606.             int[] var19 = this.field_47;
  607.             var19[var9] -= this.field_24;
  608.          }
  609.  
  610.          if (this.field_48[var9] < 0) {
  611.             int[] var20 = this.field_48;
  612.             var20[var9] += this.field_24;
  613.          }
  614.  
  615.          if (this.field_48[var9] >= this.field_24) {
  616.             int[] var21 = this.field_48;
  617.             var21[var9] -= this.field_24;
  618.          }
  619.  
  620.          ++var9;
  621.       }
  622.  
  623.    }
  624.  
  625.    public boolean mouseExit(Event var1, int var2, int var3) {
  626.       this.field_13 = false;
  627.       this.field_14 = false;
  628.       this.field_70 = (double)1.0F;
  629.       return false;
  630.    }
  631.  
  632.    // $FF: renamed from: a (double) double
  633.    double method_12(double var1) {
  634.       return (180D / Math.PI) * Math.atan((double)this.field_21 / (double)this.field_20 * Math.tan(var1 / (double)2.0F * Math.PI / (double)180.0F));
  635.    }
  636.  
  637.    public class_0(Applet var1, String var2) {
  638.       super(var1, var2);
  639.       this.field_75 = Color.gray;
  640.       this.field_28 = -1;
  641.       this.field_29 = -1;
  642.       this.field_30 = -1;
  643.       this.field_31 = 10;
  644.       this.field_10 = false;
  645.       this.field_11 = false;
  646.       this.field_13 = true;
  647.       this.field_14 = false;
  648.       this.field_15 = false;
  649.       this.field_16 = false;
  650.       this.field_59 = (double)70.0F;
  651.       this.field_60 = (double)10.5F;
  652.       this.field_61 = (double)165.0F;
  653.       this.field_63 = (double)90.0F;
  654.       this.field_64 = (double)-90.0F;
  655.       this.field_66 = (double)180.0F;
  656.       this.field_67 = (double)-180.0F;
  657.       this.field_70 = (double)1.0F;
  658.       this.field_51 = -1;
  659.       this.field_52 = -1;
  660.       this.field_82 = null;
  661.       this.field_83 = null;
  662.       this.field_84 = null;
  663.       this.field_85 = null;
  664.       this.field_86 = null;
  665.    }
  666.  
  667.    public synchronized void paint(Graphics var1) {
  668.       if (this.field_7) {
  669.          if (this.field_12) {
  670.             ((b)this).a(this.field_72);
  671.          } else {
  672.             if (this.field_80 == null) {
  673.                if (!this.field_9 || this.field_18 == 0) {
  674.                   this.field_18 = ((Component)this).size().width;
  675.                   this.field_19 = ((Component)this).size().height;
  676.                }
  677.  
  678.                this.field_80 = ((Component)this).createImage(this.field_18, this.field_19);
  679.                this.field_76 = this.field_80.getGraphics();
  680.             }
  681.  
  682.             if (this.field_10 && System.currentTimeMillis() >= this.field_57) {
  683.                if (this.field_14) {
  684.                   double var2 = 5.0E-4 * this.field_59 / (double)70.0F * (double)320.0F / (double)this.field_20;
  685.                   this.method_2(this.field_58 + var2 * (double)((this.field_37 - this.field_35) * (this.field_37 - this.field_35)) * (this.field_37 <= this.field_35 ? (double)-1.0F : (double)1.0F), this.field_62 + var2 * (double)((this.field_36 - this.field_38) * (this.field_36 - this.field_38)) * (this.field_36 <= this.field_38 ? (double)-1.0F : (double)1.0F), this.field_59 * this.field_70);
  686.                }
  687.  
  688.                if (this.field_56 > this.field_55) {
  689.                   this.method_2(this.field_58 + this.field_68, this.field_62 + this.field_69, this.field_59 * this.field_70);
  690.                }
  691.  
  692.                if (this.field_15) {
  693.                   if (this.field_56 > this.field_55) {
  694.                      long var6 = System.currentTimeMillis() - this.field_54;
  695.                      if (var6 < 40L) {
  696.                         try {
  697.                            Thread.sleep(40L - var6);
  698.                         } catch (InterruptedException var5) {
  699.                            return;
  700.                         }
  701.                      }
  702.                   }
  703.  
  704.                   this.field_54 = System.currentTimeMillis();
  705.                   this.method_10();
  706.                   this.field_81.newPixels();
  707.                }
  708.  
  709.                this.field_76.drawImage(this.field_77, this.field_22, this.field_23, this);
  710.                if (this.field_79 != null) {
  711.                   this.field_76.drawImage(this.field_79, this.field_18 - this.field_79.getWidth((ImageObserver)null), this.field_19 - this.field_79.getHeight((ImageObserver)null), this);
  712.                }
  713.  
  714.                if (this.field_86 != null) {
  715.                   this.field_86.a((int)this.field_59);
  716.                   this.field_86.repaint();
  717.                }
  718.  
  719.                var1.drawImage(this.field_80, 0, 0, this);
  720.             }
  721.          }
  722.       }
  723.    }
  724.  
  725.    // $FF: renamed from: a (double, double, double) void
  726.    public void method_13(double var1, double var3, double var5) {
  727.       this.field_68 = var1;
  728.       this.field_69 = var3;
  729.       this.field_70 = var5;
  730.       if (this.field_56 < this.field_55) {
  731.          this.field_56 = this.field_55 + 100000000L;
  732.       }
  733.  
  734.       ((Component)this).repaint();
  735.    }
  736.  
  737.    public boolean mouseUp(Event var1, int var2, int var3) {
  738.       ((Component)this).setCursor(Cursor.getPredefinedCursor(13));
  739.       this.field_37 = var2;
  740.       this.field_38 = var3;
  741.       this.field_14 = false;
  742.       this.field_70 = (double)1.0F;
  743.       if (this.field_10) {
  744.          this.field_51 = var2;
  745.          this.field_52 = var3;
  746.       }
  747.  
  748.       if (((b)this).a(var1) == 2 && Math.abs(this.field_35 - this.field_37) < 10 && Math.abs(this.field_36 - this.field_38) < 10) {
  749.          this.method_22((double)0.0F, (double)0.0F, super.S, 1);
  750.       }
  751.  
  752.       return false;
  753.    }
  754.  
  755.    // $FF: renamed from: a (int[][], boolean) void
  756.    void method_14(int[][] var1, boolean var2) {
  757.       int var3 = this.field_24 - 1;
  758.       int var4 = this.field_25 - 1;
  759.       int var5 = (this.field_20 - 1) / 2;
  760.       int var6 = this.field_21 / 2;
  761.       int var7 = this.field_24 / 2;
  762.       int var8 = this.field_25 / 2;
  763.       int var9 = this.field_24 * 3 / 4;
  764.       int var10 = this.field_24 / 4;
  765.       int var11 = var1[0][0];
  766.       int var12 = var1[0][2];
  767.       int var13 = -var5;
  768.       int var14 = this.field_20 - var5;
  769.       int var15 = -var6;
  770.       int var16 = this.field_21 - var6;
  771.       int var17 = 0;
  772.       int var18 = this.field_20 * this.field_21;
  773.       var17 = 0;
  774.       if (!var2) {
  775.          int var39 = var1[1][0] * var15 + var1[2][0];
  776.          int var40 = var1[1][1] * var15 + var1[2][1];
  777.          int var41 = var1[1][2] * var15 + var1[2][2];
  778.  
  779.          for(int var38 = 0; var38 < var18; var41 += var1[1][2]) {
  780.             int var42 = var38 + this.field_20;
  781.             int var43 = var1[0][0] * var13 + var39;
  782.             int var44 = var40;
  783.             int var46 = var1[0][2] * var13 + var41;
  784.             if (var40 >= 0) {
  785.                int var49 = var40 << 12;
  786.  
  787.                for(int var56 = var38; var56 < var42; var46 += var12) {
  788.                   if (var46 > 0) {
  789.                      if (var43 > 0) {
  790.                         if (var43 > var46) {
  791.                            int var62;
  792.                            this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var43 * this.field_49[(var62 = var46 << 12) / var43] >> 12))]][this.field_46[4096 - var62 / (var43 + var46)]] | -16777216;
  793.                         } else {
  794.                            int var60;
  795.                            this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var46 * this.field_49[(var60 = var43 << 12) / var46] >> 12))]][this.field_46[var60 / (var43 + var46)]] | -16777216;
  796.                         }
  797.                      } else {
  798.                         int var65 = -var43;
  799.                         if (var65 > var46) {
  800.                            int var73;
  801.                            this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var65 * this.field_49[(var73 = var46 << 12) / var65] >> 12))]][this.field_47[4096 - var73 / (var65 + var46)]] | -16777216;
  802.                         } else {
  803.                            int var69;
  804.                            this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var46 * this.field_49[(var69 = var65 << 12) / var46] >> 12))]][this.field_47[var69 / (var65 + var46)]] | -16777216;
  805.                         }
  806.                      }
  807.                   } else if (var46 == 0) {
  808.                      if (var43 > 0) {
  809.                         this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + var43)]][var9] | -16777216;
  810.                      } else {
  811.                         this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 - var43)]][var10] | -16777216;
  812.                      }
  813.                   } else {
  814.                      int var66 = -var46;
  815.                      if (var43 < 0) {
  816.                         int var76 = -var43;
  817.                         if (var76 > var66) {
  818.                            int var81;
  819.                            this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var76 * this.field_49[(var81 = var66 << 12) / var76] >> 12))]][this.field_43[4096 - var81 / (var76 + var66)]] | -16777216;
  820.                         } else {
  821.                            int var78;
  822.                            this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var66 * this.field_49[(var78 = var76 << 12) / var66] >> 12))]][this.field_43[var78 / (var76 + var66)]] | -16777216;
  823.                         }
  824.                      } else if (var43 > var66) {
  825.                         int var74;
  826.                         this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var43 * this.field_49[(var74 = var66 << 12) / var43] >> 12))]][this.field_48[4096 - var74 / (var43 + var66)]] | -16777216;
  827.                      } else {
  828.                         int var70;
  829.                         this.field_26[var56] = this.field_27[this.field_44[var49 / (var44 + (var66 * this.field_49[(var70 = var43 << 12) / var66] >> 12))]][this.field_48[var70 / (var43 + var66)]] | -16777216;
  830.                      }
  831.                   }
  832.  
  833.                   ++var56;
  834.                   var43 += var11;
  835.                }
  836.             } else if (var40 < 0) {
  837.                var44 = -var40;
  838.                int var48 = var44 << 12;
  839.  
  840.                for(int var55 = var38; var55 < var42; var46 += var12) {
  841.                   if (var46 > 0) {
  842.                      if (var43 > 0) {
  843.                         if (var43 > var46) {
  844.                            int var61;
  845.                            this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var43 * this.field_49[(var61 = var46 << 12) / var43] >> 12))]][this.field_46[4096 - var61 / (var43 + var46)]] | -16777216;
  846.                         } else {
  847.                            int var59;
  848.                            this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var46 * this.field_49[(var59 = var43 << 12) / var46] >> 12))]][this.field_46[var59 / (var43 + var46)]] | -16777216;
  849.                         }
  850.                      } else {
  851.                         int var63 = -var43;
  852.                         if (var63 > var46) {
  853.                            int var71;
  854.                            this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var63 * this.field_49[(var71 = var46 << 12) / var63] >> 12))]][this.field_47[4096 - var71 / (var63 + var46)]] | -16777216;
  855.                         } else {
  856.                            int var67;
  857.                            this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var46 * this.field_49[(var67 = var63 << 12) / var46] >> 12))]][this.field_47[var67 / (var63 + var46)]] | -16777216;
  858.                         }
  859.                      }
  860.                   } else if (var46 == 0) {
  861.                      if (var43 > 0) {
  862.                         this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + var43)]][var9];
  863.                      } else {
  864.                         this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 - var43)]][var10];
  865.                      }
  866.                   } else {
  867.                      int var64 = -var46;
  868.                      if (var43 < 0) {
  869.                         int var75 = -var43;
  870.                         if (var75 > var64) {
  871.                            int var80;
  872.                            this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var75 * this.field_49[(var80 = var64 << 12) / var75] >> 12))]][this.field_43[4096 - var80 / (var75 + var64)]] | -16777216;
  873.                         } else {
  874.                            int var77;
  875.                            this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var64 * this.field_49[(var77 = var75 << 12) / var64] >> 12))]][this.field_43[var77 / (var75 + var64)]] | -16777216;
  876.                         }
  877.                      } else if (var43 > var64) {
  878.                         int var72;
  879.                         this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var43 * this.field_49[(var72 = var64 << 12) / var43] >> 12))]][this.field_48[4096 - var72 / (var43 + var64)]] | -16777216;
  880.                      } else {
  881.                         int var68;
  882.                         this.field_26[var55] = this.field_27[this.field_45[var48 / (var44 + (var64 * this.field_49[(var68 = var43 << 12) / var64] >> 12))]][this.field_48[var68 / (var43 + var64)]] | -16777216;
  883.                      }
  884.                   }
  885.  
  886.                   ++var55;
  887.                   var43 += var11;
  888.                }
  889.             } else {
  890.                for(int var47 = var38; var47 < var42; var46 += var12) {
  891.                   int var54;
  892.                   if (var46 > 0) {
  893.                      if (var43 > 0) {
  894.                         var54 = this.field_46[(var43 << 12) / (var43 + var46)];
  895.                      } else {
  896.                         var54 = this.field_47[(-var43 << 12) / (var46 - var43)];
  897.                      }
  898.                   } else if (var46 == 0) {
  899.                      if (var43 > 0) {
  900.                         var54 = var9;
  901.                      } else {
  902.                         var54 = var10;
  903.                      }
  904.                   } else if (var43 < 0) {
  905.                      var54 = this.field_43[(-var43 << 12) / (-var43 - var46)];
  906.                   } else {
  907.                      var54 = this.field_48[(var43 << 12) / (var46 - var43)];
  908.                   }
  909.  
  910.                   this.field_26[var47] = this.field_27[0][var54] | -16777216;
  911.                   ++var47;
  912.                   var43 += var11;
  913.                }
  914.             }
  915.  
  916.             var38 += this.field_20;
  917.             var39 += var1[1][0];
  918.             var40 += var1[1][1];
  919.          }
  920.  
  921.       } else {
  922.          int var19 = var1[1][0] * var15 + var1[2][0];
  923.          int var20 = var1[1][1] * var15 + var1[2][1];
  924.          int var21 = var1[1][2] * var15 + var1[2][2];
  925.  
  926.          for(int var22 = var15; var22 < var16; var21 += var1[1][2]) {
  927.             int var23 = var17;
  928.             int var24 = var1[0][0] * var13 + var19;
  929.             int var25 = var20;
  930.             int var26 = var1[0][2] * var13 + var21;
  931.  
  932.             for(int var27 = var13; var27 < var14; var26 += var1[0][2]) {
  933.                int var28 = this.method_9(var24, var26);
  934.                int var29 = this.method_9(var25, this.method_25(Math.abs(var26), Math.abs(var24)));
  935.                int var30 = var28 & 255;
  936.                int var31 = var29 & 255;
  937.                var28 = (var28 >> 8) + var7;
  938.                var29 = (var29 >> 8) + var8;
  939.                int var32;
  940.                int var33;
  941.                int var34;
  942.                int var35;
  943.                if (var29 >= 0 && var29 < var4 && var28 >= 0 && var28 < var3) {
  944.                   var32 = this.field_27[var29][var28];
  945.                   var33 = this.field_27[var29][var28 + 1];
  946.                   var34 = this.field_27[var29 + 1][var28];
  947.                   var35 = this.field_27[var29 + 1][var28 + 1];
  948.                } else {
  949.                   int var36;
  950.                   if (var29 < 0) {
  951.                      var36 = 0;
  952.                   } else if (var29 > var4) {
  953.                      var36 = var4;
  954.                   } else {
  955.                      var36 = var29;
  956.                   }
  957.  
  958.                   if (var28 < 0) {
  959.                      var32 = this.field_27[var36][var3];
  960.                   } else if (var28 > var3) {
  961.                      var32 = this.field_27[var36][0];
  962.                   } else {
  963.                      var32 = this.field_27[var36][var28];
  964.                   }
  965.  
  966.                   ++var28;
  967.                   if (var28 < 0) {
  968.                      var33 = this.field_27[var36][var3];
  969.                   } else if (var28 > var3) {
  970.                      var33 = this.field_27[var36][0];
  971.                   } else {
  972.                      var33 = this.field_27[var36][var28];
  973.                   }
  974.  
  975.                   --var28;
  976.                   ++var29;
  977.                   if (var29 < 0) {
  978.                      var36 = 0;
  979.                   } else if (var29 > var4) {
  980.                      var36 = var4;
  981.                   } else {
  982.                      var36 = var29;
  983.                   }
  984.  
  985.                   if (var28 < 0) {
  986.                      var34 = this.field_27[var36][var3];
  987.                   } else if (var28 > var3) {
  988.                      var34 = this.field_27[var36][0];
  989.                   } else {
  990.                      var34 = this.field_27[var36][var28];
  991.                   }
  992.  
  993.                   ++var28;
  994.                   if (var28 < 0) {
  995.                      var35 = this.field_27[var36][var3];
  996.                   } else if (var28 > var3) {
  997.                      var35 = this.field_27[var36][0];
  998.                   } else {
  999.                      var35 = this.field_27[var36][var28];
  1000.                   }
  1001.                }
  1002.  
  1003.                this.field_26[var23] = this.method_1(var32, var33, var34, var35, var30, var31);
  1004.                ++var27;
  1005.                ++var23;
  1006.                var24 += var1[0][0];
  1007.             }
  1008.  
  1009.             ++var22;
  1010.             var17 += this.field_20;
  1011.             var19 += var1[1][0];
  1012.             var20 += var1[1][1];
  1013.          }
  1014.  
  1015.       }
  1016.    }
  1017.  
  1018.    // $FF: renamed from: void () void
  1019.    public void method_15() {
  1020.       this.field_56 = 0L;
  1021.       this.field_68 = (double)0.0F;
  1022.       this.field_69 = (double)0.0F;
  1023.       this.field_70 = (double)1.0F;
  1024.    }
  1025.  
  1026.    // $FF: renamed from: null () boolean
  1027.    public boolean method_16() {
  1028.       return this.field_56 > this.field_55;
  1029.    }
  1030.  
  1031.    // $FF: renamed from: else () void
  1032.    synchronized void method_17() {
  1033.       this.field_10 = false;
  1034.       this.field_11 = false;
  1035.       this.field_27 = null;
  1036.       this.field_73 = null;
  1037.       this.field_50 = 0;
  1038.       System.gc();
  1039.    }
  1040.  
  1041.    // $FF: renamed from: int () void
  1042.    public void method_18() {
  1043.       super.int();
  1044.       if (!this.field_11) {
  1045.          if (!((b)this).byte()) {
  1046.             return;
  1047.          }
  1048.  
  1049.          if (super.B == 0) {
  1050.             ((b)this).a("No Panorama Image");
  1051.             return;
  1052.          }
  1053.  
  1054.          ((Component)this).setCursor(Cursor.getPredefinedCursor(13));
  1055.          ((b)this).a("Initializing graphics...");
  1056.          this.method_23();
  1057.          this.field_59 = (double)70.0F / super.S;
  1058.          super.S = (double)70.0F / super.S;
  1059.          this.method_5();
  1060.          super.aa.mouseEnter((Event)null, 0, 0);
  1061.       }
  1062.  
  1063.       if (this.field_27 == null) {
  1064.          this.field_12 = true;
  1065.          ((Component)this).repaint();
  1066.       } else {
  1067.          if (this.field_26 == null) {
  1068.             if (this.field_20 == 0) {
  1069.                this.field_20 = ((Component)this).size().width;
  1070.             }
  1071.  
  1072.             if (this.field_21 == 0) {
  1073.                this.field_21 = ((Component)this).size().height;
  1074.             }
  1075.  
  1076.             this.field_26 = new int[this.field_20 * this.field_21];
  1077.             this.field_81 = new MemoryImageSource(this.field_20, this.field_21, this.field_26, 0, this.field_20);
  1078.             this.field_81.setAnimated(true);
  1079.          }
  1080.  
  1081.          if (this.field_25 != this.field_24 / 2 || this.field_66 != (double)180.0F || this.field_67 != (double)-180.0F) {
  1082.             double var1 = (double)this.field_25 / (double)this.field_24 * (this.field_66 - this.field_67) / (double)2.0F;
  1083.             if (this.field_63 > var1) {
  1084.                this.field_63 = var1;
  1085.             }
  1086.  
  1087.             if (this.field_64 < -var1) {
  1088.                this.field_64 = -var1;
  1089.             }
  1090.          }
  1091.  
  1092.          for(this.field_65 = this.method_12(this.field_59); (double)2.0F * this.field_65 > this.field_63 - this.field_64; this.field_65 = this.method_12(this.field_59)) {
  1093.             this.field_59 /= 1.03;
  1094.          }
  1095.  
  1096.          if (this.field_62 > this.field_63 - this.field_65 && this.field_63 != (double)90.0F) {
  1097.             this.field_62 = (double)0.0F;
  1098.          }
  1099.  
  1100.          if (this.field_62 < this.field_64 + this.field_65 && this.field_64 != (double)-90.0F) {
  1101.             this.field_62 = (double)0.0F;
  1102.          }
  1103.  
  1104.          this.method_11();
  1105.          if (this.field_68 != (double)0.0F) {
  1106.             this.field_56 = this.field_55 + 100000000L;
  1107.          }
  1108.  
  1109.          this.method_10();
  1110.          if (this.field_77 == null) {
  1111.             this.field_77 = ((Component)this).createImage(this.field_81);
  1112.          } else {
  1113.             this.field_81.newPixels();
  1114.          }
  1115.  
  1116.          this.field_10 = true;
  1117.          this.method_19();
  1118.          this.method_13(1.01, (double)0.0F, (double)1.0F);
  1119.       }
  1120.    }
  1121.  
  1122.    // $FF: renamed from: goto () void
  1123.    private void method_19() {
  1124.       try {
  1125.          int var1 = 0;
  1126.          if (super.B == 17) {
  1127.             ((Container)this).setLayout(new BorderLayout());
  1128.             this.field_82 = new f(super.G[1], super.G[2], super.G[3], this);
  1129.             var1 = ((Component)this).size().height - this.field_82.size().height;
  1130.             this.field_82.setLocation(0, var1);
  1131.             ((Container)this).add(this.field_82);
  1132.             this.field_82.repaint();
  1133.             this.field_83 = new f(super.G[4], super.G[5], super.G[6], this);
  1134.             this.field_83.setLocation(this.field_82.size().width, var1);
  1135.             ((Container)this).add(this.field_83);
  1136.             this.field_83.repaint();
  1137.             this.field_84 = new f(super.G[7], super.G[8], super.G[9], this);
  1138.             this.field_84.setLocation(this.field_82.size().width + this.field_83.size().width, var1);
  1139.             ((Container)this).add(this.field_84);
  1140.             this.field_84.repaint();
  1141.             this.field_85 = new f(super.G[10], super.G[11], super.G[12], this);
  1142.             this.field_85.setLocation(((Component)this).size().width - this.field_85.size().width, var1);
  1143.             ((Container)this).add(this.field_85);
  1144.             this.field_85.repaint();
  1145.             this.field_86 = new d(super.G[15], super.G[16], super.G[13], super.G[14], this);
  1146.             this.field_86.setLocation(((Component)this).size().width - (this.field_86.size().width + this.field_85.size().width) / 2, 10);
  1147.             this.field_86.setSize(this.field_86.size().width, ((Component)this).size().height - this.field_85.size().height - 20);
  1148.             ((Container)this).add(this.field_86);
  1149.             this.field_86.if();
  1150.             this.field_86.repaint();
  1151.          }
  1152.       } catch (Exception var2) {
  1153.       }
  1154.  
  1155.    }
  1156.  
  1157.    // $FF: renamed from: a (int, int, int[], double, double) void
  1158.    void method_20(int var1, int var2, int[] var3, double var4, double var6) {
  1159.       double var8 = (double)this.field_24 / (Math.PI * 2D);
  1160.       double var10 = this.field_59 * (double)2.0F * Math.PI / (double)360.0F;
  1161.       double var12 = (double)this.field_20 / ((double)2.0F * Math.tan(var10 / (double)2.0F));
  1162.       double var14 = (double)((int)(var12 + (double)0.5F));
  1163.       this.method_7(var6 * (double)2.0F * Math.PI / (double)360.0F, var4 * (double)2.0F * Math.PI / (double)360.0F, this.field_71, 1);
  1164.       var1 -= this.field_20 / 2;
  1165.       var2 -= this.field_21 / 2;
  1166.       double var16 = this.field_71[0][0] * (double)var1 + this.field_71[1][0] * (double)var2 + this.field_71[2][0] * var14;
  1167.       double var18 = this.field_71[0][1] * (double)var1 + this.field_71[1][1] * (double)var2 + this.field_71[2][1] * var14;
  1168.       double var20 = this.field_71[0][2] * (double)var1 + this.field_71[1][2] * (double)var2 + this.field_71[2][2] * var14;
  1169.       double var22 = var8 * Math.atan2(var16, var20) + (double)this.field_24 / (double)2.0F;
  1170.       if (var22 < (double)0.0F) {
  1171.          var22 = (double)0.0F;
  1172.       }
  1173.  
  1174.       if (var22 >= (double)this.field_24) {
  1175.          var22 = (double)(this.field_24 - 1);
  1176.       }
  1177.  
  1178.       var3[0] = (int)var22;
  1179.       double var24 = var8 * Math.atan2(var18, Math.sqrt(var20 * var20 + var16 * var16)) + (double)this.field_25 / (double)2.0F;
  1180.       if (var24 < (double)0.0F) {
  1181.          var24 = (double)0.0F;
  1182.       }
  1183.  
  1184.       if (var24 >= (double)this.field_25) {
  1185.          var24 = (double)(this.field_25 - 1);
  1186.       }
  1187.  
  1188.       var3[1] = (int)var24;
  1189.    }
  1190.  
  1191.    public boolean mouseDown(Event var1, int var2, int var3) {
  1192.       if (((b)this).a(var1) == 2) {
  1193.          ((Component)this).setCursor(Cursor.getPredefinedCursor(8));
  1194.       }
  1195.  
  1196.       if (var2 >= this.field_22 && var2 < this.field_22 + this.field_20 && var3 >= this.field_23 && var3 < this.field_23 + this.field_21 && this.field_56 > this.field_55) {
  1197.          this.method_15();
  1198.          this.field_35 = var2;
  1199.          this.field_36 = var3;
  1200.          return false;
  1201.       } else {
  1202.          this.field_14 = true;
  1203.          this.field_70 = (double)1.0F;
  1204.          this.field_35 = var2;
  1205.          this.field_36 = var3;
  1206.          this.field_37 = var2;
  1207.          this.field_38 = var3;
  1208.          return false;
  1209.       }
  1210.    }
  1211.  
  1212.    // $FF: renamed from: a (int, int, int[]) void
  1213.    void method_21(int var1, int var2, int[] var3) {
  1214.       this.method_20(var1, var2, var3, this.field_58, this.field_62);
  1215.    }
  1216.  
  1217.    // $FF: renamed from: a (double, double, double, int) void
  1218.    public void method_22(double var1, double var3, double var5, int var7) {
  1219.       this.method_6(this.field_58, var1, this.field_62, var3, this.field_59, var5, var7);
  1220.    }
  1221.  
  1222.    // $FF: renamed from: f () void
  1223.    public void method_23() {
  1224.       this.field_7 = true;
  1225.       this.field_12 = false;
  1226.       this.field_71 = new double[3][3];
  1227.       this.field_40 = new int[3][3];
  1228.       this.field_58 = (double)0.0F;
  1229.       this.field_59 = (double)70.0F;
  1230.       this.field_60 = (double)10.5F;
  1231.       this.field_61 = (double)165.0F;
  1232.       this.field_62 = (double)0.0F;
  1233.       this.field_63 = (double)90.0F;
  1234.       this.field_64 = (double)-90.0F;
  1235.       this.field_66 = (double)180.0F;
  1236.       this.field_67 = (double)-180.0F;
  1237.       this.field_68 = (double)0.0F;
  1238.       this.field_69 = (double)0.0F;
  1239.       this.field_70 = (double)1.0F;
  1240.       this.field_41 = 0;
  1241.       this.field_65 = (double)0.0F;
  1242.       this.field_14 = false;
  1243.       this.field_56 = 0L;
  1244.       this.field_15 = false;
  1245.       this.field_16 = false;
  1246.       this.field_39 = 0;
  1247.       this.field_73 = null;
  1248.       this.field_8 = false;
  1249.    }
  1250.  
  1251.    // $FF: renamed from: new () void
  1252.    public synchronized void method_24() {
  1253.       this.method_17();
  1254.       this.field_71 = null;
  1255.       this.field_40 = null;
  1256.       this.field_26 = null;
  1257.       this.field_81 = null;
  1258.       this.field_79 = null;
  1259.       this.field_77 = null;
  1260.       this.field_78 = null;
  1261.       this.field_32 = null;
  1262.       this.field_42 = null;
  1263.       this.field_44 = null;
  1264.       this.field_45 = null;
  1265.       this.field_46 = null;
  1266.       this.field_47 = null;
  1267.       this.field_48 = null;
  1268.       this.field_43 = null;
  1269.       this.field_49 = null;
  1270.       super.new();
  1271.    }
  1272.  
  1273.    public boolean mouseDrag(Event var1, int var2, int var3) {
  1274.       this.field_37 = var2;
  1275.       this.field_38 = var3;
  1276.       this.field_70 = (double)1.0F;
  1277.       this.field_14 = true;
  1278.       if (((b)this).a(var1) == 2) {
  1279.          this.field_70 -= (double)(this.field_36 - var3) * 0.001;
  1280.          this.field_37 = this.field_35;
  1281.          this.field_38 = this.field_36;
  1282.       } else {
  1283.          this.method_3();
  1284.       }
  1285.  
  1286.       ((Component)this).repaint();
  1287.       return false;
  1288.    }
  1289.  
  1290.    // $FF: renamed from: new (int, int) int
  1291.    final int method_25(int var1, int var2) {
  1292.       if (var1 > var2) {
  1293.          return var1 * this.field_49[(var2 << 12) / var1] >> 12;
  1294.       } else {
  1295.          return var2 == 0 ? 0 : var2 * this.field_49[(var1 << 12) / var2] >> 12;
  1296.       }
  1297.    }
  1298.  
  1299.    public boolean mouseMove(Event var1, int var2, int var3) {
  1300.       if (this.field_13) {
  1301.          this.field_37 = var2;
  1302.          this.field_38 = var3;
  1303.       }
  1304.  
  1305.       return false;
  1306.    }
  1307. }
  1308.